Computer networking began proliferating when the data transfer rates of industry standard architectures could not keep pace with the data access rate of the 80386 processor made by Intel Corporation. Local area networks (LANs) evolved to storage area networks (SANs) by consolidating the data storage capacity in the network. Users have realized significant benefits by the consolidation of equipment and the associated data handled by the equipment in SANs, such as the capability of handling an order of magnitude more storage than would otherwise be possible with direct attached storage, and doing so at manageable costs.
More recently the movement has been toward a network-centric approach to controlling the data storage subsystems. That is, in the same way that the storage was consolidated, so too are the systems that control the functionality of the storage being offloaded from the servers and into the network itself. Host-based software, for example, can delegate maintenance and management tasks to intelligent switches or to a specialized network storage services platform. Appliance-based solutions eliminate the need for the software running in the hosts, and operate within computers placed as a node in the enterprise. In any event, the intelligent network solutions can centralize such things as storage allocation routines, backup routines, and fault tolerance schemes independently of the hosts.
While moving the intelligence from the hosts to the network resolves some problems such as these, it does not resolve the inherent difficulties associated with the general lack of flexibility in altering the presentation of virtual storage to the hosts. For example, stored data may need to be moved for reliability concerns, or more storage capacity may need to be added to accommodate a growing network. In these events either the host or the network must be modified to make it aware of the existence of the new or changed storage space.
Intelligent data storage subsystems self-deterministically allocate, manage, and protect its respective data storage capacity, and presents that capacity as a virtual storage space to the network to accommodate global storage requirements. This virtual storage space is able to be provisioned into multiple storage volumes. A distributed computing environment uses these intelligent storage devices for global provisioning as well as for global sparing in the event of failures.
As more intelligence and related intelligent components migrate to the data storage subsystem, it is not unusual for a single printed circuit board (PCB) to contain two or more processors executing software modules. Whereas these processors were in the past located on different PCBs, it was then a rather straightforward ordeal to connect a bus protocol analyzer to the PCB in order to analyze the functionality of the processor. However, where two or more processors are connected together within the same PCB, such an analysis can be problematic.
What is needed are improvements making it possible to readily and inexpensively connect a bus analyzer to a high speed communications bus connecting two or more components in a common PCB. It is to this solution that embodiments of the present invention are directed.